package com.tablefood.dao;

import java.util.List;

import com.tablefood.domain.ShopCart;
import com.tablefood.domain.ShopOrder;
import com.tablefood.domain.ShopUser;

public interface CartDao {

	/*
	 * 生成一个新的购物车
	 * */
	public ShopCart insertCart(ShopCart cart);
	
	/**   
	 * 删除userid对应的所有购物车   
	 * @param userid 用户id
	 *  
	 * @return 
	 */   
	public void delCart(String userid);
	
	/**   
	 * 删除cartid对应的购物车   
	 * @param cartid 购物车某行的id
	 *  
	 * @return  true 删除成功 
	 * @return  false 删除失败
	 */
	public boolean delOneCart(Long cartid);
	
	/*
	 * 更新部分字段
	 * */
	public ShopCart updateCart(ShopCart cart);
	/*
	 * 通过用户id查询购物车所有的商品
	 * */
	public List searchCartByUserid(String userid);
	/*
	 * 通过用户id和商品id查找购物车中某一行的信息
	 * */
	public List searchCartAboutProduct(String userid,String productid);
	
	
	/**   
	 * 通过购物车id找该行信息   
	 * @param cartid 购物车某行ID
	 *  
	 * @return ShopCart 购物车某行信息
	 */    
	public ShopCart searchOneCartByCartId(String cartid);
	
	
	/**   
	 * 分页查询   
	 * @param hql  查询条件   
	 * @param offset  开始记录   
	 * @param length  一次查询几条记录   
	 * @return 查询的记录集合   
	 */    
	public List<ShopCart> queryForPage(final String hql,String userid,final int offset,final int length);  
	
	/**   
	 * 查询所有的记录数   
	 * @param hql 查询条件   
	 * @return 总记录数   
	 */    
	public int getAllRowCount(String hql,String userid); 
	
	
}
